1. Field of the Invention
The present invention relates to the field of data entry methods and mechanisms for computer systems. The present invention is directed to the field of palmtop computers and handwriting recognition systems and handwriting-based data entry and user authentication. Specifically, the present invention discloses an efficient mechanism for automatic character recognition and display attribute recognition.
2. Related Art
As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the new categories of computer systems is the xe2x80x9cpalmtopxe2x80x9d computer system. A palmtop computer system is a computer that is small enough to be held in the hand of a user and can therefore be xe2x80x9cpalm-sized.xe2x80x9d Most palmtop computer systems are used to implement various Personal Information Management (PIM) applications such as an address book, a daily organizer and electronic notepads, to name a few. Palmtop computers with PIM software have been know as Personal Digital Assistants (PDAs).
Data entry on a palmtop computer has been a challenge. Since palmtop computer systems are very small, full-sized keyboards are generally not efficient input devices. Palmtop computers using keyboards have keyboard devices that are so small that a user cannot touch-type. Furthermore, to use a keyboard device, a user must either place the palmtop computer system down onto a flat surface, so the user can type with both hands, or the user holds the palmtop computer system with two hands and types with thumbs only.
Instead of a mechanical keyboard device, some palmtop computers utilize a touch screen and display an image of a small keyboard thereon. When a particular button is pressed or tapped, a small keyboard image is displayed on the display screen. The user then interacts with the on-screen small keyboard image to enter characters, usually one character at a time. To interact with the displayed keyboard image (e.g., xe2x80x9cvirtual keyboardxe2x80x9d), the user taps the screen location of a character with a pen or stylus. That corresponding character is then recognized and added to a data entry field, also displayed on the screen. However, for experienced users, the virtual keyboard input system can be a tedious input process.
Instead of using a mechanical keyboard device or a displayed keyboard, many palmtop computers employ a pen and a digitizer pad as an input system. The pen and digitizer pad combination works well for palmtop computers because the arrangement allows a user to hold the palmtop computer system in one hand while writing with the pen onto the digitizer pad with the other hand.
A number of palmtop computer systems that rely on the pen and digitizer pad combination as the primary means of input have been introduced to the market. Most of these pen-based palmtop computer systems provide some type of handwriting recognition system whereby the user can write words and letters on the digitizer pad with a stylus. The palmtop computer system then converts the user""s handwriting into a machine readable format such as ASCII code characters. Examples of pen-based palmtop computer systems that provide handwriting recognition include the Apple Newton (trademark) device and the Tandy Zoomer (trademark) device.
Consumer acceptance of many pen based palmtop computer systems has been limited due to the performance of handwriting recognition systems. When a human reads a handwritten message, the human uses various clues to decipher the handwriting such as the known spelling of words, the known subject of the message, the writer""s character writing style, and knowledge of English grammar. Since it is very difficult to teach a computer system all these subtle handwriting recognition heuristics, most handwriting recognition systems only rely on the writer""s input strokes and a dictionary of common words. Using such limited information, such handwriting recognition systems often yield inaccurate results.
Some handwriting recognition techniques divide the recognition task into steps for identifying individual characters. Another handwriting recognition system is described in U.S. Pat. No. 5,889,888, issued on Mar. 30, 1999 entitled, xe2x80x9cMethod and Apparatus for Immediate Response Handwriting Recognition System that Handles Multiple Character Sets.xe2x80x9d This character recognition system recognizes a large number of different characters with less effort on the user""s part (e.g., fewer xe2x80x9cmode changexe2x80x9d strokes). This U.S. Pat. No. 5,889,888 is incorporated herein by reference.
However, one of the great difficulties in machine-based handwriting recognition is selecting between different, yet similarly shaped (or drawn) characters. For example, when using the handwriting recognition processes of the U.S. Pat. No. 5,889,888 it is difficult to enter the letter xe2x80x9cV.xe2x80x9d The character based handwriting recognition typically mistakenly determines the input character to be the letter xe2x80x9cUxe2x80x9d for xe2x80x9cVxe2x80x9d strokes. In other instances, it is difficult to differentiate between a lower case character and an upper case character in cases when the upper case and the lower case characters are similar in shape, e.g., in the case of xe2x80x9coxe2x80x9d versus xe2x80x9cOxe2x80x9d and xe2x80x9ctxe2x80x9d versus xe2x80x9cTxe2x80x9d and xe2x80x9cFxe2x80x9d versus xe2x80x9cf,xe2x80x9d etc. What is done instead is to require a special xe2x80x9cprestrokexe2x80x9d to indicate the case of the character. However, sometimes the prestroke is drawn incorrectly and it improperly becomes recognized as a character itself, thereby causing confusion and difficulty for the user. It would be advantageous to be able to eliminate this prestroke requirement to offer a more natural writing style for selecting between character sets. It would be advantageous, then, to provide a more effective handwriting recognition mechanism for a computer system.
Also, in many graphics applications and word processors, a user wants to select between different character sets, e.g., to select fonts, character sizes, line widths, colors, etc. Normally, small buttons or icons are placed on the screen by the application allowing a user to select these features. However, in the case of palmtop computers, the screen is very small and these buttons and icons become very small indeed and therefore hard to see and select. It would be advantageous to provide a mechanism for selecting character sets without requiring an on-screen button or icon to be selected first.
Authentication is also an important issue with respect to palmtop computers because they can so readily be stolen, concealed and then used by an unauthorized person. Heretofore, a character based password has been used for locking down the computer system until the password is correctly entered. It would be advantageous to provide a more secure authentication system that was not character based.
Accordingly, what is needed is an effective and natural mechanism and method for discriminating between the case of characters within a handwriting recognition system. What is also needed is a mechanism for allowing a user to select different character sets or display attributes within an application program without requiring that a small icon or window be first selected. What is needed is a palm sized computer system that offers an improved authentication mechanism that is not entirely character-based. The present invention provides these advantages and others not specifically mentioned above but described in the sections to follow.
A method and system are described utilizing both (x, y) coordinate (xe2x80x9cspatialxe2x80x9d) stroke data and associated pressure information for improved handwriting recognition and other uses. The method and system can also be applied to all types of handwriting-based data entry applications and also to user authentication. The digitizer pad used in the palmtop computer system gives both spatial information and associated pressure data when a stroke is being drawn thereon, e.g., by a stylus. Pressure information can be used to differentiate between different character sets, e.g., upper case and lower case characters for certain alphabetic characters. The spatial stroke data then identifies the particular character within the selected character set.
The pressure information can also be used to adjust any display attribute, such as character font size, font selection, color, italic, bold, underline, shadow, language, etc. Again, the spatial stroke data then identifies the particular character within the selected character set. The associated pressure information can also be used for recognizing a signature. In this case, a user is allowed to sign a name on the digitizer pad. This provides non-character based user authentication that relies not only on the spatial stroke data but also on the pressure applied at different points in the signed name or image. Pressure information can also be used to provide improved handwriting-based data entry. For instance, in a drafting program, the pressure of a drawn line can be used to determine its width. Generally, pressure data can also be used to improve handwriting recognition tasks and heuristics.
More specifically, an embodiment of the present invention includes a method and system of recognizing data representing a user-drawn character, the method comprising the steps of: a) accessing spatial stroke data and pressure data captured by a digitizer and representing the user-drawn character wherein respective pressure data is associated with respective spatial stroke data; b) storing the spatial stroke data and pressure data into a computer memory wherein pressure data of a first range represents a first character set and pressure data of a second range represents a second character set; c) performing character recognition on the spatial stroke data and the pressure data, the step c) comprising the steps of: c1) using the pressure data to identify a character set; and c2) using the spatial stroke data to identify a particular character within the identified character set; and d) displaying the particular character on a display screen of a computer system. Embodiments include the above and wherein the first character set comprises upper case alphabetic characters and wherein the second character set comprises lower case alphabetic characters.
Embodiments also include a method and system for using pressure data and spatial stroke data for drawing a graphics element, e.g., a line and differentiating between a thick element and a thin element for use within a graphics application. Embodiments also include method and system for using pressure data and spatial stroke data for performing user authentication. Embodiments also include method and system for using pressure data and spatial stroke data for improved handwriting recognition.